AWS アクセスキー漏洩による compromised 対応後、EC2 スポットインスタンスを起動しようとすると MaxSpotInstanceCountExceeded エラーが発生し新規インスタンスの起動が行えない場合の対処法
困っていた内容
先日、AWS からアカウントが侵害を受けた可能性があるという通知を受け取りました。確認したところ、アクセスキーを含んだプログラムソースを公開リポジトリに置いしまっていたので、該当のプログラムソースを公開リポジトリから削除し、該当アクセスキーについても無効化を行いました。
その後、対応は完了したと考え新規 EC2 スポットインスタンスを起動しようとすると下記エラーが発生し起動が行なえませんでした。念の為、EC2 の Limits(制限) [1] に達していないかを調べましたが上限値には達していませんでした。
An error occurred (MaxSpotInstanceCountExceeded) when calling the RequestSpotInstances operation: Max spot instance count exceedexd
どう対応すればいいの?
AWS 側でアクセスキー漏洩を検知すると対象の AWS アカウントに利用制限をかける場合があります。制限中にスポットインスタンスを起動しようとすると MaxSpotInstanceCountExceeded が発生します。
漏洩したアクセスキーが無効化されているだけでは制限は解除されないため、漏洩したアクセスキーを削除する必要があります。ただし、アクセスキーを削除すると、そのアクセスキーは永久に削除され、復元することはできないため、アプリケーションなどで使用していた場合は必ず新しいアクセスキーに置き換え後に削除するようにしてください。アクセスキーの漏洩が発生した場合の対応詳細については [2], [3] を参照ください。
もし、アクセスキー漏洩による compromised 対応が完了しているにも関わらず、スポットインスタンスの利用の制限が解除されない場合は AWS サポートに問い合わせを行ってください。